Serge Demeyer | Publications | E-mail Feedback


Serge Demeyer / Publication (Details)

Last updated on Thursday, November 16, 2023

@article{Abdi2022EMSE,
  author =        {Mehrdad Abdi and Henrique Rocha and Serge Demeyer and
                   Alexandre Bergel},
  journal =       {Empirical Software Engineering},
  month =         jul,
  number =        {128},
  publisher =     {Springer},
  title =         {Small-Amp: Test amplification in a dynamically typed
                   language},
  volume =        {27},
  year =          {2022},
  abstract =      {Some test amplification tools extend a manually
                   created test suite with additional test cases to
                   increase the code coverage. The technique is
                   effective, in the sense that it suggests strong and
                   understandable test cases, generally adopted by
                   software engineers. Unfortunately, the current
                   state-of-the-art for test amplification heavily
                   relies on program analysis techniques which benefit a
                   lot from explicit type declarations present in
                   statically typed languages. In dynamically typed
                   languages, such type declarations are not available
                   and as a consequence test amplification has yet to
                   find its way to programming languages like Smalltalk,
                   Python, Ruby and Javascript. We propose to exploit
                   profiling information ---readily obtainable by
                   executing the associated test suite--- to infer the
                   necessary type information creating special test
                   inputs with corresponding assertions. We evaluated
                   this approach on 52 selected test classes from 13
                   mature projects in the Pharo ecosystem containing
                   approximately 400 test methods. We show the
                   improvement in killing new mutants and mutation
                   coverage at least in 28 out of 52 test classes
                   ($\approx$53\%). Moreover, these generated tests are
                   understandable by humans: 8 out of 11 pull-requests
                   submitted were merged into the main code base
                   ($\approx$72\%). These results are comparable to the
                   state-of-the-art, hence we conclude that test
                   amplification is feasible for dynamically typed
                   languages.},
  annote =        {internationaljournal},
  doi =           {10.1007/s10664-022-10169-8},
}

Serge Demeyer | Publications | E-mail Feedback